1. Field of the Invention
The present invention is directed to computer systems. More particularly, it is directed to graphical image processing.
2. Description of the Related Art
Traditionally, rendering a complex image, such as one requiring the rendering of multiple sub-images, on a graphic processing unit (GPU) required switching between multiple frame buffers. Additionally, texture maps have generally been used to store textures that are two-dimensional representations of three-dimensional models to be applied to various surfaces when rendering a three-dimensional scene. For example, a texture atlas may include all of the individual graphic elements rendered in a flat two-dimensional fashion that would then be applied to a three-dimensional geometry.
When utilizing graphics hardware, such as a GPU, graphics or pixels, sometimes called fragments, can generally only be rendered to individual frame buffers. Additionally, combining particular foreground graphics with the background, such as when rendering a partially transparent graphic object, traditionally involves rendering the background image to one frame buffer, allocating a second frame buffer, performing a context switch to the second frame buffer, rendering the foreground image to the second frame buffer, performing another context switch back to the original frame buffer, and then copying (and possibly blending or combining) the foreground image onto the background image in the original frame buffer to result in the correct overall image.
Furthermore, performing a context switch on a GPU is typically a very expensive, such as in terms of execution time, operation. Given that many graphic-intensive applications may include many (even thousands of) individual graphic objects requiring rendering, performing multiple context switches to render a single overall may cause significant performance issues, such as increasing the overall execution time.
When rendering complex images some systems or applications may include the use of transparency groups. A transparency group may be considered a collection of individual images to be combined together into a resultant image that may then be treated as a single object for subsequent compositing operations. Each transparency group may be associated with a opacity (or transparency) value and may also specify particular blending operations or formulas for combining the transparency group with other background images. For example, the Portable Document Format (PDF) by Adobe Systems Incorporated describes various blend modes for combining foreground and background image, such as when compositing a transparency group onto a backdrop. Additionally, some color and image formats may store color and transparency values in different manners. Thus, the compositing and/or combining of transparency groups and/or other images may involve various complicated formulas and techniques. Furthermore, the increasing number of types of specialized graphics processors may add to the complications involved in compositing images in modern graphics applications.